/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fr.sorbonne.inf5.yams.model.iaCombinaison;

import fr.sorbonne.inf5.yams.exceptions.DeNotRunException;
import fr.sorbonne.inf5.yams.model.De;
import fr.sorbonne.inf5.yams.model.InterfaceFace;
import fr.sorbonne.inf5.yams.model.combinaison.CombinaisonUtilitaire;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * Classe qui modélise l'IA d'une combinaison
 * @author Riad Oukherfellah
 * @author Romain Dubos
 */
public class IAYamsCombinaison implements IACombinaison {

    public List<De> bloquerDe(List<De> listeDe) {
        Map<InterfaceFace, Integer> mapTmp = null;
        try {
            mapTmp = CombinaisonUtilitaire.compteOccurenceDe(listeDe);
        } catch (DeNotRunException ex) {
            Logger.getLogger(IAYamsCombinaison.class.getName()).log(Level.SEVERE, null, ex);
        }
        InterfaceFace face = null;
        int nbOccurence = 0;
        for (InterfaceFace f : mapTmp.keySet()) {
            if (mapTmp.get(f) > nbOccurence) {
                nbOccurence = mapTmp.get(f);
                face = f;
            }
        }
        return listeDe;
    }
}
